def load_remote_input_dataset(self, analysis_param_id, remote_id):
        """Convenience function for loading a remote dataset by id.

        Args:
            analysis_param_id (str): ID of the input Dataset in the specifications.
            remote_id (str):  ID of the Dataset in the Data service.

        """
        dataset = Dataset.from_data_service(remote_id, self.data_service)

        self.set_input_dataset(analysis_param_id, dataset)

def run_analysis(self):
        """ Validates and runs the analysis."""
        for dataset_spec in self.spec['input_datasets']:
            id = dataset_spec["id"]
            result = self.validate_input_dataset(dataset_spec, self.input_datasets[id]["value"])
            if not result[0]:
                print("Error reading dataset: " + result[1])
                return result

        for parameter_spec in self.spec['input_parameters']:
            id = parameter_spec["id"]
            result = self.validate_parameter(parameter_spec, self.get_parameter(id))
            if not result[0]:
                print("Error reading parameter: " + result[1])
                return result

        return self.run()

 def run(self):
        return True